//
// Copyright (c) 2014, 保留所有权利。
//
// ApiServer.java
//
// 作    者：王红燕
// 当前版本：1.0
// 2014 上午12:02:50
//
// 
//
package com.common.api;

import org.apache.thrift.TProcessor;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TSimpleServer;
import org.apache.thrift.transport.TServerSocket;

/**
 *
 */
public class ApiServer {
	public void listen(int port) {
		try {
			TProcessor tprocessor = new ApiService.Processor<ApiService.Iface>(
					new ApiServiceImpl());

			// 简单的单线程服务模型，一般用于测试
			TServerSocket serverTransport = new TServerSocket(port);
			TServer.Args tArgs = new TServer.Args(serverTransport);
			tArgs.processor(tprocessor);
			tArgs.protocolFactory(new TBinaryProtocol.Factory());
			TServer server = new TSimpleServer(tArgs);
			server.serve();
		} catch (Exception e) {
			System.out.println("Server start error!!!");
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ApiServer server = new ApiServer();
		server.listen(8080);
	}

}
